#{extends 'Web/layout.html'/} #{set 'title'}&{'web.admin.doc'}#{/set} %{demoPage = models.WebPage.ROOT.children()[0]}%

${title}

Структура меню сайта описывается с помощью иерархии папок, где каждая папка соответствует странице, адрес которой формируется из пути к этой папке.

Внутри каждой папки располагаются файлы, с помощью которых она отображается. Это файлы .html для содержания, картинки, pdf-файлы для скачивания и т.п.

Есть два варианта редактирования сайта:

В любом случае, все изменения производятся в тестовой среде, где можно удостоверится в их правильности.

Затем, и вебмастер и редактор должны опубликовать свои изменения, чтобы они попали в боевую среду. При этом желательно оставить также комментарий, кратко описывающий причину сделанных изменений. После публикации изменения появляются в боевой среде в течение 5-10 минут.

#{include 'WebAdmin/doc-basic.html'/}

Как все устроено

В папке каждой страницы должен быть файл metadata.properties, описывающий свойства страницы.

metadata.properties

Возможны следующие параметры (все опциональны):

Пример содержания файла:

${demoPage.loadFile("metadata.properties")}

Шаблоны

Доступные шаблоны страниц и их заменяемые части:

Содержание

Содержание страницы формируется с помощью указанного в мета-данных шаблона и последующего замещения его частей на содержание соответствующих .html файлов в папке страницы. Например, если шаблон не указан либо указан шаблон custom, то он описывает всего одну заменяемую часть - content. Следовательно, в папке надо разместить файл с названием content.html, содержание которого будет отображено в середине страницы, между шапкой и подвалом. Если поддерживаемые шаблоном части не найдены в папке страницы, то вместо них ничего не будет вставлено.

Второй пример: если надо поменять главный баннер на странице /individual (использующей шаблон frontpage), то веб-мастер (залогинившись на сайт) на этой странице может навести мышкой на этот баннер и увидеть название файла с его содержанием красным цветом, в данном случае - main-banner. Следовательно, изменение баннера происходит в файле /individual/main-banner.html.

Использование HTML/CSS

В большинстве случаев достаточно писать простой HTML и использовать стандартные тэги. Для базового CSS используется проект Twitter Bootstrap, так что вся типография, описанная там, применима и здесь.


Заголовок 1

Заголовок 2

Заголовок 3 и выделение

Абзац текста и маленькая вставка, в том числе в заголовках.
Некоторый текст можно выделить или наоборот.

Списки

  1. Элемент списка
  2. Элемент списка

Таблицы

%{tableClass = 'table'}% #{include 'WebAdmin/demo-table.html'/}
%{tableClass = 'table table-condensed'}% #{include 'WebAdmin/demo-table.html'/}
%{tableClass = 'table table-bordered'}% #{include 'WebAdmin/demo-table.html'/}
%{tableClass = 'table table-striped'}% #{include 'WebAdmin/demo-table.html'/}
%{tableClass = 'table table-bordered table-striped table-condensed'}% #{include 'WebAdmin/demo-table.html'/}

Ссылки

Обычная ссылка
Ссылка со стрелкой

Картинки и файлы для скачивания

В эти же папки можно класть картинки и любые другие файлы и ссылаться на них из содержания только по названию.

<img src="filename.png">

К файлам для скачивания будет автоматически добавлена иконка и размер файла

<a href="report.pdf">Скачайте отчёт</a>

Будет выглядеть так: Скачайте отчёт (PDF, 1.3 Mb)

В данный момент только файлы ${models.WebPage.ALLOWED_FILE_TYPES} будут доступны для скачивания.

Формы

Для создания веб-формы надо создать страницу с шаболоном form и описать поля формы в файле form.html.

Поля описываются с помощью стандартных HTML5 полей, например:

<input type="email" name="Э-почта">
<textarea rows="4" name="Комментарии"></textarea>

Необходимо использовать всегда точный атрибут type (для валидации). Атрибут name будет отображен пользователю и будет использован также при посылке заполненной формы получателю.

Получател(и) формы определяются в metadata.properties, поле email.

Если необходимо добавить к форме также выбор отделения, надо добавить поле branchSelection: true.

Также, можно добавить дополнительных получателей для каждого офиса с помощью поля email.Название-Офиса.